home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
AMIGA
/
(A)TA
/
(A)TAS.ADF
/
clock297
/
clkdj297.doc
< prev
next >
Wrap
Text File
|
1988-09-05
|
11KB
|
408 lines
Clockdj2 - Assembly language clock, mouse, screen and window program.
Version - 2.97
Copyright - Copyright (c) by David Jenkins, 5 Sept. 1988.
I can be reached at Bloom Beacon 416-297-5607.
and M31 416-439-0493
This program may be distributed freely, but please keep the
documentation and source with the load module.
V2.97 Change
~~~~~~~~~~~~
This version will allow the user to select a window and remove it
from the screen while leaving the task that started it unaffected.
To do this, point at the window you want to remove, hold the left
Amiga key down and press the left mouse button; the window should disappear.
To bring the window back hold the left Amiga key and press the right mouse
button.
Up to 60 windows can be hidden in this way. When retrieving windows
the last one removed is brought back first. A separate list of hidden windows
is maintained for each screen, so only the windows for the active screen are
retrieved.
I put this feature in because my workbench screen is often cluttered
with small windows opened by tasks like VirusX. These windows serve no useful
purpose and I decided I would like a means of removing them.
Restrictions:
1. CLI windows cannot be removed. Doing so confuses things and ends in a guru,
so the CLI windows are ignored when selecting a window to hide.
2. Some programs look at their window size; FileInjector does this. If the
small FileInjector window is hidden and the hot key sequence is used, the
resulting window is smaller than it should be. The solution is one of: don't
hide this type of window; retrieve the window before the hot key; retrieve
the window after the hot key. The last option would require a window refresh
too (move the window).
V2.96 Change
~~~~~~~~~~~~
There was a bug which prevented the second startup parameter
(the NewCLI specification) from working if it was less than a certain length.
This should now be fixed.
V2.95 changes
~~~~~~~~~~~~~
There is one simple change in this release: a menu item to
select whether the clock pops to the front or not. If it checked the
clock will pop to the front.
I am not distributing source with this release. If anyone really
wants it, let me know.
V2.94 Changes
~~~~~~~~~~~~~
1. I have re-vamped the menu routines so that multiple checked items
can be selected in one pass by clicking the left button.
2. The screen cycle will not be triggered in the middle of an extended
menu selection.
3. Picking up an icon and hitting a key would freeze the machine if
key activate was on. This is fixed.
4. The pointer blanking did not work correctly when a program opened
a new screen while the pointer was blank. It should now.
V2.91 Changes
~~~~~~~~~~~~~
1. The screen blanking routine has been changed: when it goes blank
it now turns black instead of becoming the background colour.
2. Pointer blanking has been changed to avoid the occasional vertical
sprite bar.
3. The 'clockdj.config' file is now prefixed by sys: not df0:. This
permits it to be stored on a hard disk. Also, if sys: is assigned
to another device (vd0: for example, after booting), the file will
be read from the assigned device.
4. The 'NewCLI' command can be specified as a startup parameter. It is a
positional parameter and must appear after the 'r' parameter. For example:
runback clockdj n NewShell <nil: >nil: "newcon:0/0/640/150/ NewShell "
The 'n' means that the mouse buttons are to be used in their default
sequence.
Notice that in this example both input and output have bee re-directed
to nil:. This is necessary if the clock is started using runback
The specified command will be used by both the menu and Left-Amiga-ESC
sequence.
5. Left-Amiga-m will shuffle screens if "Screen Cycle" is selected.
V2.90 Changes
~~~~~~~~~~~~~
There a few more new features in this version and a couple
of bug fixes:
1. The number of clicks needed for window to front and window to back
can be independently set.
2. Left Amiga-ESC does a NewCLI.
3. An activate window for the window under the pointer is performed
when a key is depressed.
V2.8 Changes
~~~~~~~~~~~~
The new features in this version of clockdj are:
1. Screen blanking after a pre-defined period of inactivity.
2. Pointer blanking after a pre-defined period of inactivity.
3. Mouse accelerator.
4. Sun mouse.
5. Click the window to front with the left mouse button.
6. Click the window to back by pressing the left mouse button followed by the
right mouse button, with the left button still down.
7. Cycling through screens by pressing the right mouse button followed by the
left mouse button with the right button still down.
The button sequences for 6. and 7. can be reversed by specifying the
parameter "r" when starting the clock: eg:
runback -s2000 clockdj r
All the above can be selected my menus and saved in the configuration
file.
As far as I am aware I have avoided any lockup problems when picking up
icons and cycling windows or screens.
V2.4 Changes
~~~~~~~~~~~~
Two bug fixes:
1. When attempting to save to a write protected disk which did
not have a clockdj.config file a guru would occur - probably on
quitting.
2. A menu selection could be made from the credit message; this
caused the save record to be written.
V 2.3 Change
~~~~~~~~~~~~
There was a bug when changing from the Chip/Fast display to
Total memory and vice versa. This has been fixed.
V 2.2 Changes
~~~~~~~~~~~~~
There appears to be a bug in WindowToFront which can cause
system lockups when selecting an icon. I have avoided this call
in V 2.2 and replaced it with UpFrontLayer which avoids the
problem.
V 2.0 Description
~~~~~~~~~~~~~~~~~
Version 2 has menus to set all parameters (these had to be
zapped on the last version). It also gives you the option of displaying
chip and fast ram separately, and the of saving the current
settings in a file so that next time the program starts it will use
the new settings as defaults.
This clock program is based on one by Darrel Schneider; I
have made the modifications needed to turn it into a clock which
I find useful for my personal use. Since it is written in
assembler it has the major virtues of being small and efficient.
The display is a small borderless window which shows the
total memory left in the system (chip and fast) and the time in
12 hour format. The window pops to the front of the workbench
screen once every 2 minutes. The memory display shows about
40-60k more available memory than other popular clock programs such as
RSLclock. I have verified that this program is giving an accurate
display, however.
The best way to start the program is to use Runback with a 2k
stack parameter: eg., 'runback -s2000 clockdj'. The clock itself
only needs a 2k stack, but be careful if you start a new CLI from the
clock menu; the new CLI will also have a 2k stack, so you should reset
the stack to a higher value in the new window.
Start-up parameters
~~~~~~~~~~~~~~~~~~~
1. "r" specified as the first parameter will reverse the action of the
mouse buttons for the features that require both to be depressed.
The default is "n".
2. The 'NewCLI' command can be specified as a startup parameter. It is a
positional parameter and must appear after the 'r' or 'n' parameter.
For example:
runback clockdj n NewShell <nil: >nil: "newcon:0/0/640/150/ NewShell "
The 'n' means that the mouse buttons are to be used in their default
sequence.
Notice that in this example both input and output have bee re-directed
to nil:. This is necessary if the clock is started using runback
The specified command will be used by both the menu and Left-Amiga-ESC
sequence.
Menu options
============
NewCLI
------
Gives you a new CLI window at the bottom of the screen.
Chip/Fast
---------
This option gives chip and fast memory displays separately. When selected
the menu toggles to 'Total Memory' to enable you to get back to a total
memory display.
Colour
-----
Allows you to select the colour of the clock display.
Priority
--------
The default priority of the clock is 2 which seems to work OK in most
circumstances. Setting it to 0 makes it the same priority as other
tasks started from CLI. Making it negative gives it a lower priority
than other CLI tasks. This option gives you a choice of running the clock
from -3 to +4. I found the negative values useful while running a Basic
drawing program: anything above -1 made the drawing process
jerky.
Refresh
-------
This is the maximum rate at which the program will update the display.
The default is 5 times per second and the options allow from 10 times
to once per second. I only do an PrintIText if something has changed,
so even 10 times per second does not use much CPU - you can
use pm to see how much.
Blank Screen
------------
The screen will blank after the specified time (in minutes) if there is no
keyboard or mouse activity.
Blank Pointer
-------------
The mouse pointer will blank after the specified time (in seconds) if there is
no mouse activity.
Mouse Speed
-----------
Accelerates the mouse pointer. 1 is no acceleration.
Click to front
--------------
Clicking the left mouse button in a window the secified number of
times will bring it to the front.
Click to back
-------------
Click the window to back by pressing the left mouse button followed by the
right mouse button the specified number of times.
Note that this sequence can be reversed by specifying "r" as a start-up
parameter
Sun Mouse
---------
Activates the window the pointer is above without having to click the left
mouse button.
Screen Cycle
------------
Cycling through screens by pressing the right mouse button followed by
the left mouse button with the right button still down.
Note that this sequence can be reversed by specifying "r" as a
start-up parameter
The screen cycle can also be triggered by hitting Left-Amiga-m.
Key Activate
------------
If this feature is used, the window under the pointer will be activated
when a key is depressed.
Pop to Front
------------
Selecting this item causes the clock to pop to the front of the
workbench screen once per minute.
Save
----
If you select 'Save', all the current settings, including the window
position, will be written to a file called 'clockdj.config' in the
root directory of sys:. You should be careful to ensure that sys: is
assigned to the correct disk so that the file can be read when the clock
is next started.
The next time clockdj starts it will attempt to read this file and set
up the clock and associated parameters exactly as they were when you
selected 'Save'.
You should select this option when you are happy with the way the clock
looks, and then make sure you have the disk with the clockdj program
on it assigned to sys:.
Quit
----
Removes the clock.
David Jenkins.